import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 存储表信息 */
export interface Storage {
          storageId: number; // ID
          deviceId?: number; // 设备ID
          storageMib?: string; // 存储信息的 MIB 类型（如 HOST-RESOURCES-MIB	 或 UCD-SNMP-MIB	）
          storageIndex: string; // 存储在设备中的索引标识（如 SNMP 索引），用于区分不同存储单元。
          storageType: string; // 存储类型（如 disk	、memory	、filesystem	）
          storageDescr?: string; // 存储的描述信息（如 "Hard Disk /dev/sda1" 或 "Memory Usage"）。
          storageSize?: number; // 存储总容量（单位为 storage_units	 指定的单位，如字节）。
          storageUnits?: number; // 存储容量单位（如 1	 表示字节，1024	 表示 KB）。
          storageUsed?: number; // 当前已使用的存储容量（单位同上）。
          storageFree?: number; // 当前剩余可用存储容量（单位同上）。
          storagePerc?: number; // 存储使用率（百分比，整数形式，如 75	 表示 75%）。
          storagePercWarn: number; // 存储使用率的告警阈值（默认 60%	），超过此值时触发告警。
          storageDeleted?: boolean; // 是否标记为删除0	 表示未删除
  }

// 存储表 API
export const StorageApi = {
  // 查询存储表分页
  getStoragePage: async (params: any) => {
    return await request.get({ url: `/business/storage/page`, params })
  },

    // 查询存储表分页
    getStorageList: async (params: any) => {
      return await request.get({ url: `/business/storage/list`, params })
    },
  

  // 查询存储表详情
  getStorage: async (id: number) => {
    return await request.get({ url: `/business/storage/get?id=` + id })
  },

  // 新增存储表
  createStorage: async (data: Storage) => {
    return await request.post({ url: `/business/storage/create`, data })
  },

  // 修改存储表
  updateStorage: async (data: Storage) => {
    return await request.put({ url: `/business/storage/update`, data })
  },

  // 删除存储表
  deleteStorage: async (id: number) => {
    return await request.delete({ url: `/business/storage/delete?id=` + id })
  },

  /** 批量删除存储表 */
  deleteStorageList: async (ids: number[]) => {
    return await request.delete({ url: `/business/storage/delete-list?ids=${ids.join(',')}` })
  },

  // 导出存储表 Excel
  exportStorage: async (params) => {
    return await request.download({ url: `/business/storage/export-excel`, params })
  },
}
